import $ from "jquery";
import markdownIt from "markdown-it";

let md = new markdownIt();
// TextTools类,用于处理文本消息的工具类
export class TextTools {
  constructor(tool_id,init_text) {
    this.tool_id = tool_id;
    this.text = init_text;
  }
  // 用于接收和展示消息,嵌入到聊天窗口中
  render(jq_dom) {
    // 直接将工具添加到dom中
    jq_dom.append(TextTools.createTool(this.tool_id,this.text));
    return this;
  }
  static createTool(tool_id,text) {
    // 创建工具dom,只在第一次执行
    return $(
      `
        <div class="text-tools" data-tool-id="${tool_id}">
            <span>${md.render(text)}</span>
        </div>
        `
    );
  }
  // 实时接收消息并更新工具
  stream(text) {
    this.text = text;
    // 更新工具dom
    $(`[data-tool-id="${this.tool_id}"] span`).html(md.render(text));
    
  }
}
